package cn.b.sky.mes.hr.dao;

import java.util.List;

import cn.b.sky.mes.hr.model.PersonnelConfirm;
import cn.b.sky.mes.hr.model.condition.PersonnelConfirmCondition;
import org.apache.ibatis.annotations.Param;

public interface PersonnelConfirmDao {
  /**
   * 
   * <strong>Title : selectPerformanceByCondition<br></strong>
   * <strong>Description : </strong>分页查询报工<br> 
   * <strong>Create on : 2016-4-22 上午11:04:13<br></strong>
   * <p>
   * @param condition
   * @return
   * List<PersonnelConfirm>
   * @throws 
   * @author JinQuan.Fu<br>
   * @version <strong>v1.0.0</strong><br>
   * <br>
   * <strong>修改历史:</strong><br>
   * 修改人 | 修改日期 | 修改描述<br>
   * -------------------------------------------<br>
   * <br>
   * <br>
   */
  List<PersonnelConfirm> selectPersonnelConfirmByCondition(
      PersonnelConfirmCondition condition);
  
  /**
   * 
   * <strong>Title : selectPersonnelConfirmCountByCondition<br></strong>
   * <strong>Description : </strong>查询报工记录条数<br> 
   * <strong>Create on : 2016-4-22 下午2:57:39<br></strong>
   * <p>
   * @param condition
   * @return
   * int
   * @throws 
   * @author JinQuan.Fu<br>
   * @version <strong>v1.0.0</strong><br>
   * <br>
   * <strong>修改历史:</strong><br>
   * 修改人 | 修改日期 | 修改描述<br>
   * -------------------------------------------<br>
   * <br>
   * <br>
   */
  int selectPersonnelConfirmCountByCondition(
      PersonnelConfirmCondition condition);

  /**
   * 
   * <strong>Title : insertPersonnelConfirm<br></strong>
   * <strong>Description : </strong>报工添加<br> 
   * <strong>Create on : 2016-4-25 下午2:53:18<br></strong>
   * <p>
   * @param personnelConfirm
   * void
   * @throws 
   * @author JinQuan.Fu<br>
   * @version <strong>v1.0.0</strong><br>
   * <br>
   * <strong>修改历史:</strong><br>
   * 修改人 | 修改日期 | 修改描述<br>
   * -------------------------------------------<br>
   * <br>
   * <br>
   */
  void insertPersonnelConfirm(PersonnelConfirm
      personnelConfirm);

  /**
   * <strong>Title : selectPersonnelConfirmById<br></strong>
   * <strong>Description : </strong>根据ID获得报工信息<br> 
   * <strong>Create on : 2016-4-25 下午6:47:00<br></strong>
   * <p>
   * @param id
   * @param siteCode
   * @return
   * PersonnelConfirm
   * @throws 
   * @author JinQuan.Fu<br>
   * @version <strong>v1.0.0</strong><br>
   * <br>
   * <strong>修改历史:</strong><br>
   * 修改人 | 修改日期 | 修改描述<br>
   * -------------------------------------------<br>
   * <br>
   * <br>
   */
  PersonnelConfirm selectPersonnelConfirmById(@Param(value = "id") Long id,@Param(value = "siteCode") String siteCode);

  /**
   * 
   * <strong>Title : updatePersonnelConfirm<br></strong>
   * <strong>Description : </strong>修改<br> 
   * <strong>Create on : 2016-4-25 下午7:53:51<br></strong>
   * <p>
   * @param personnelConfirm
   * void
   * @throws 
   * @author JinQuan.Fu<br>
   * @version <strong>v1.0.0</strong><br>
   * <br>
   * <strong>修改历史:</strong><br>
   * 修改人 | 修改日期 | 修改描述<br>
   * -------------------------------------------<br>
   * <br>
   * <br>
   */
  void updatePersonnelConfirm(PersonnelConfirm personnelConfirm);

  /**
   * 
   * <strong>Title : deletePersonnelConfirmById<br></strong>
   * <strong>Description : </strong>报工删除<br> 
   * <strong>Create on : 2016-4-27 下午1:22:20<br></strong>
   * <p>
   * @param valueOf
   * void
   * @throws 
   * @author JinQuan.Fu<br>
   * @version <strong>v1.0.0</strong><br>
   * <br>
   * <strong>修改历史:</strong><br>
   * 修改人 | 修改日期 | 修改描述<br>
   * -------------------------------------------<br>
   * <br>
   * <br>
   */
  void deletePersonnelConfirmById(Long id);

  /**
   * 
   * <strong>Title : getPerformanceCountByCheck<br></strong>
   * <strong>Description : </strong>检查人员：同一时间、同一实际工作中心、同一物料是否报工<br> 
   * <strong>Create on : 2016-4-27 下午3:27:30<br></strong>
   * <p>
   * @param personnelConfirm
   * @return
   * int
   * @throws 
   * @author JinQuan.Fu<br>
   * @version <strong>v1.0.0</strong><br>
   * <br>
   * <strong>修改历史:</strong><br>
   * 修改人 | 修改日期 | 修改描述<br>
   * -------------------------------------------<br>
   * <br>
   * <br>
   */
  int getPerformanceCountByCheck(PersonnelConfirm personnelConfirm);
}
